#include <sys/stat.h>
#include <stdio.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdint.h>
#include <unistd.h>

int create_fifo(const char *filename)
{

    if (mkfifo(filename, 0666) == -1)
    {
        if (errno != EEXIST)
        { // 如果已存在，不是错误
            perror("mkfifo");
            return 1;
        }
    }
    return 0;
}

int open_fifo(const char *filename)
{
    if (access(filename, F_OK) != F_OK)
    {
        create_fifo(filename);
    }
    // 2. 以可读可写、非阻塞方式打开
    int fd = open(filename, O_RDWR | O_NONBLOCK);
    if (fd == -1)
    {
        perror("open");
        return 1;
    }
    return fd;
}
int send_msg2rcp(int fd, uint8_t *data, int size)
{

    int nwrite = write(fd, data, size);

    return nwrite;
}
